设计 API 授权,或者调用第三方 API 时,经常会接触到:
Authorization : Bearer Tokenxxxxxx
有没有疑惑为何不直接写成这样就得了:
Authorization : Tokenxxxxxx
这是因为 W3C 的 HTTP 1.0 规范,Authorization 的格式是:
Authorization: <type> <authorization-parameters>
所以 Bearer 是授权的类型,常见的授权类型还有:
授权类型 | 说明 |
---|---|
Basic | 用于 http-basic 认证 |
Bearer | 常见于 OAuth 和 JWT 授权 |
Digest | MD5 哈希的 http-digest 认证(已弃用) |
HOBA | HTTP 消息签名认证(已弃用) |
Mutual | HTTP 消息签名认证(已弃用) |
Negotiate | SPNEGO 认证(已弃用) |
SCRAM-SHA-1 | SCRAM-SHA-1 认证(已弃用) |
SCRAM-SHA-256 | SCRAM-SHA-256 认证(已弃用) |
vapid | VAPID 认证 |
AWS4-HMAC-SHA256 | AWS 认证 |
AWS4-HMAC-SHA256-PAYLOAD | AWS 认证 |
MAC | MAC 认证 |
Netrc | Netrc 认证 |
TIP